﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using Grpc.Core;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using AppDomain = ILRuntime.Runtime.Enviorment.AppDomain;

[ILRAdaptor]
public class Adapter_gRPCClientBase : CrossBindingAdaptor
{
    public override Type BaseCLRType { get { return typeof(ClientBase); } }
    public override Type[] BaseCLRTypes { get { return null; } }
    public override Type AdaptorType { get { return typeof(Adaptor); } }
    public override object CreateCLRInstance(AppDomain appdomain, ILTypeInstance instance) { return new Adaptor(appdomain, instance); }

    internal class Adaptor : ClientBase, CrossBindingAdaptorType
    {
        ILTypeInstance instance;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;

        public Adaptor()
        {

        }

        public Adaptor(ILRuntime.Runtime.Enviorment.AppDomain appdomain, ILTypeInstance instance)
        {
            this.appdomain = appdomain;
            this.instance = instance;
        }

        public object[] data1 = new object[1];

        public ILTypeInstance ILInstance { get { return instance; } }

    }
}